# 什么是集合?
# set  {1,2,3}

# s = {1,2,3,"123",False,(1,2,3,4)}
# 集合就是一个没有值的字典,遵循:唯一,无序,元素要求可哈希(不可变)
# print(s)
# 集合是无序的
# 集合是可变的

# 集合怎么用?
# 增:
# s.update("3456")  # 迭代添加
# print(s)

# s.add("怼怼")
# print(s)

#删:

# s = {1,2,3,"123",False,(1,2,3,4)}
# print(s)
# s.pop()   #随机删除
# s.remove(3) # 通过元素删除
# s.clear()    # 清空
# del s        #删除整个集合
# print(s)

# 改:
# 删了,在加
# 查:
# for

# 天然去重   --  唯一
# 其他操作:
s1 = {1,2,3,4,5,6,7}
s2 = {3,4,5,6}

# print(s1 - s2)  #差集
# print(s1 | s2)  #并集   (合集)
# print(s1 & s2)  #交集
# print(s1 ^ s2)  #对称差集  -- 反交集
# print(s1 > s2)  # 超集   -- 父集
# print(s1 < s2)  # 子集

# 冻结集合(可变 转换成 不可变)  -- 更不常用
# f_s = frozenset({1,2,3,4,5})
# # dic = {f_s:"1"}
# # print(dic)

# 集合在哪用?
# 1.去重
# li = [1,2,3,4,5,2,2,2,33,3,3,2,2,1,]
# print(list(set(li)))]

# 面试题:
# li = [1,2,3,4,2,1,3] #一行代码去重
# print(list(set(li)))